home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Spanish Scene 1
/
SpanishScene1.iso
/
spanish pack n°1 by llfb
/
--llfb--
/
programas
/
sources1.dms
/
sources1.adf
/
SOURCES
/
Vectores
/
3D.ASM
next >
Wrap
Assembly Source File
|
1996-06-04
|
18KB
|
836 lines
; MADE BY EKINOX
; 3d USANDO ALGORITMO DE CARAS OCULTAS
; BASADO EN EL CALCULO DE VECTORES FISICOS
SECTION SCROLL,CODE_C
POINTS EQU 32
DEC EQU 6
; DATOS 3D
STEPS EQU 1
INCRX EQU 4
INCRY EQU 2
INCRZ EQU 3
ORIGENX EQU 160
ORIGENY EQU 128
DESPX equ 0
DESPY equ 0
DESPZ equ 0
OBJ equ 150
movem.l d0-a6,-(a7)
bsr METEPLANO
bsr DESPCUBE
bsr INTERRUPTS
bsr PROGRAM
bsr END
movem.l (a7)+,d0-a6
RTS
METEPLANO
lea PLANING(pc),a0
move.l #SHOW2,d0
move.w d0,6(a0)
move.w d0,14(a0)
swap d0
move.w d0,2(a0)
move.w d0,10(a0)
rts
DESPCUBE
lea CUBO(pc),a0
move.w #POINTS-1,d7
DESP2 movem.w (a0),d0-d2
add.w #DESPX,d0
add.w #DESPY,d1
add.w #DESPZ,d2
movem.w d0-d2,(a0)
addq #6,a0
dbra d7,DESP2
rts
INTERRUPTS
lea $dff000,a6
move.w $2(a6),SAVEDMA
move.w $1c(a6),SAVEINT
move.w $1e(a6),SAVEINTREK
move.w #$7fff,$9a(a6)
move.w #$7fff,$96(a6)
move.l $6c,SAVE6C
move.l #IRQ,$6c
move.w #$c028,$9a(a6)
move.w #%1100001111000000,$96(a6)
move.l #COPPER,$84(a6)
CLR.W $8a(a6)
rts
END
move.l SAVE6C,$6c
or.b #$80,SAVEDMA
or.b #$80,SAVEINT
or.b #$80,SAVEINTREK
move.w SAVEDMA,$96(a6)
move.w SAVEINT,$9A(a6)
move.w SAVEINTREK,$9C(a6)
RTS
SAVEDMA
DC.W 0
SAVEINT
DC.W 0
SAVEINTREK
DC.W 0
SAVE6C dc.l 0
SYNC dc.w 0
IRQ
movem.l d0-a6,-(a7)
move.b #1,SYNC
bsr TECLADO
movem.l (a7)+,d0-a6
move.w #$20,$dff09c
rte
PROGRAM
lea SINUSTAB(pc),a4
lea SHOW(pc),a5
PRG2
lea ZP(pc),a1
movem.w (a1)+,d0-d2
add.w d0,ZANGLE
add.w d1,YANGLE
add.w d2,XANGLE
; move.w #$f0,$180(a6)
bsr GETSINUS
bsr OCULTA
; move.w #$0f00,$180(a6)
btst #6,$BFE001
bne.s PRG2
rts
GETSINUS
cmp.w #359,ZANGLE
bls.s GET2
clr.w ZANGLE
GET2 move.w ZANGLE,d0
lsl.w #2,d0 ;SENO CORRESPONDIENTE A Z
move.w (a4,d0.W),ZSIN
move.w 2(a4,d0.W),ZCOS
cmp.w #359,YANGLE
bls.s GET3
clr.w YANGLE
GET3 move.w YANGLE,D0
lsl.w #2,D0 ;SENO CORRESPONDIENTE A Y
move.w (a4,d0.W),YSIN
move.w 2(a4,d0.W),YCOS
CMP.W #359,XANGLE
BLS GET4
CLR.W XANGLE
GET4 move.w XANGLE,D0
LSL.W #2,D0 ;SENO CORRESPONDIENTE A X
move.w (A4,D0.W),XSIN
move.w 2(A4,D0.W),XCOS
ROTATE
LEA CUBO,A1
LEA ROTS,A2
lea ZSIN(pc),a3
move.l #POINTS-1,D0
ROT2
move.w (a3),D1 ;AQUI ROTAMOS Z
move.w 2(a3),D2
move.w (A1),D3 ;D3 = X
move.w 2(A1),D4 ;D4 = Y
MULS D2,D3 ;
MULS D1,D4 ;X * COS(Z) - Y * SIN(Z) = X4
SUB.L D3,D4 ;
LSR.L #8,D4
LSR.L #6,D4
move.w D4,D7 ;D7 = X4
move.w (A1)+,D3 ;D3 = X
move.w (A1)+,D4 ;D4 = Y
MULS D2,D4 ;
MULS D1,D3 ;X * COS(Z) + Y * SIN(Z) = Y4
add.l D3,D4 ;
LSR.L #8,D4
LSR.L #6,D4
move.w D4,D6 ;D6 = Y4
move.w 4(a3),D1 ;AQUI ROTAMOS Y
move.w 6(a3),D2
move.w (A1),D3 ;D3 = Z
move.w D7,D4 ;D4 = X4
MULS D2,D3 ;
MULS D1,D4 ;Z * COS(Y) - X4 * SIN(Y) = X3
SUB.L D3,D4 ;
LSR.L #8,D4
LSR.L #6,D4
move.w D4,D5 ;D5 = X3
move.w (A1)+,D3 ;D3 = Z
move.w D7,D4 ;D4 = X4
MULS D1,D3 ;
MULS D2,D4 ;Z * SIN(Y) + X4 * COS(Y) = Y3
add.l D3,D4 ;
LSR.L #8,D4
LSR.L #6,D4
; add.w XDESP,D4
move.w D4,(A2)+ ; D4 = Y3 PRIMER VALOR DEFINITIVO X
move.w 8(a3),D1 ; POR ULTIMO ROTAMOS X
move.w 10(a3),D2
move.w D6,D3 ;D3 = Y4
move.w D5,D4 ;D4 = X3
MULS D2,D3 ;
MULS D1,D4 ;Y4 * COS(X) - X3 * SIN(X) = X2
SUB.L D3,D4 ;
LSR.L #8,D4
LSR.L #6,D4
; add.w YDESP,D4
move.w D4,(A2)+ ; D4 = X2 SEGUNDO VALOR DEFINITIVO Y
move.w D6,D3
move.w D5,D4
MULS D1,D3 ;
MULS D2,D4 ;Y4 * SIN(X) + X3 * COS(X) = Y2
add.l D3,D4 ;
LSR.L #8,D4
LSR.L #6,D4
; add.w ZDESP,D4
move.w D4,(A2)+ ; D4 = Y2 TERCER VALOR DEFINITIVO Z
DBF D0,ROT2
rts
; *************************************************
; * RUTINA DE ELIMINACION DE CARAS OCULTAS *
; * A2 : TABLA DE CARAS *
; *************************************************
VVISION dc.w 0,0,OBJ
VEKTOR ds.w 3
SAVEP ds.w 3
SAVEQ ds.w 3
CURDAT ds.w 3
;*** ROTACIONES ***
ROTS dcb.W POINTS*3
OCULTA
lea VEKTOR(pc),a1
lea CONCUBO(pc),a2
lea ROTS(pc),a3
bsr CLEAREG
OCULTA2
move.b 1(a2),d0
bmi FOCULT
clr.b (a2)
move.w 2(a2),d3
movem.w (a3,d3.w),d1-d3 ;d1 = x1
move.w 4(a2),d6
movem.w (a3,d6.w),d4-d6 ;d4 = x2
movem.w d1-d3,18(a1)
sub.w d4,d1
sub.w d5,d2
sub.w d6,d3
movem.w d1-d3,6(a1)
move.w 8(a2),d6
movem.w (a3,d6.w),d4-d6 ;d4 = x2
movem.w 18(a1),d1-d3
sub.l d4,d1 ;d1 = q1
sub.l d5,d2 ;d2 = q2
sub.l d6,d3 ;d3 = q3
movem.w d1-d3,12(a1)
movem.w 6(a1),D4-d6 ;d4 = p1
;d5 = p2
;d6 = p3
muls d5,d3
muls d2,d6
sub.l d3,d6
move.w d6,(a1)
movem.w 6(a1),d1-d6 ;d1 = p1 ; d4 = q1
;d2 = p2 ; d5 = q2
;d3 = p3 ; d6 = q3
muls d3,d4
muls d6,d1
sub.w d4,d1
move.w d1,2(a1)
movem.w 6(a1),d1-d6 ;d1 = p1 ; d4 = q1
;d2 = p2 ; d5 = q2
;d3 = p3 ; d6 = q3
muls d1,d5
muls d4,d2
sub.w d5,d2
move.w d2,4(a1)
; Hasta aqui hemos hallado el vector de una cara ahora tenemos
; que hallar el vector entre un vertice de esta cara y el observador
; Vulgo: VECTOR DE VISION
movem.w -6(a1),d1-d3
movem.w 18(a1),d4-d6
sub.w d1,d4
sub.w d2,d5
sub.w d3,d6
movem.w (a1),d1-d3
muls d4,d1
muls d5,d2
muls d6,d3
add.l d1,d2
add.l d2,d3
bpl.s OCULTA3
move.b #1,(a2)
OCULTA3
adda.l d0,a2
bra OCULTA2
CLEAREG
moveq #0,d0
moveq #0,d1
moveq #0,d2
moveq #0,d3
moveq #0,d4
moveq #0,d5
moveq #0,d6
rts
FOCULT
CALPERS
LEA ROTS,A2
LEA ROTS,A3
move.l #POINTS-1,D0
CAL2
move.w DIST,D1
move.w 4(A2),D2
add.w ZDESP,D2 ;DESPLAZA Z
SUB.W D2,D1
EXT.L D1
LSL.W #8,D1
move.w ZOBJ,D3
EXT.L D3
SUB.W D2,D3
BNE CAL3
CLR.L (A3)+
CLR.W (A3)+
ADDA.L #6,A2
BRA CALFIN
CAL3
DIVS D3,D1
move.w (A2)+,D2
add.w XDESP,D2 ;DESPLAZA X
move.w D2,D3
NEG.W D3
MULS D1,D3
LSR.L #8,D3
add.w D2,D3
move.w D3,(A3)+ ;X VERDADERA
move.w (A2)+,D2
add.w YDESP,D2
move.w D2,D3
NEG.W D3
MULS D1,D3
LSR.L #8,D3
add.w D2,D3
NEG.W D3
move.w D3,(A3)+ ;Y VERDADERA
CALFIN ANDI.W #-1,(A2)+
ANDI.W #-1,(A3)+
DBF D0,CAL2
VPOS
; tst.b SYNC
; beq.s VPOS
; clr.b SYNC
cmp.b #$1,$6(a6)
bne.s VPOS
bsr BORRA
DISPLAY
LEA ROTS,A0
LEA CONCUBO,A1
bsr DIBOBJECT
RTS
POINT
move.w D0,D5
AND.W #$7,D0
LSR.W #3,D5
move.w D1,D4
LSL.W #5,D1
LSL.W #3,D4
add.w D4,D1
add.w D5,D1
NOT.W D0
BSET D0,(A6,D1.W)
BSET D0,40(A6,D1.W)
RTS
DIBOBJECT
move.l a1,d6
moveq #0,d0
move.b (a1)+,d0
bmi FIN
bne NOFACE
moveq #0,d7
move.b (a1)+,d7
lsr.b #2,d7
sub.w #1,d7
DIBOBJ2
moveq #0,d0
MOVEQ.L #0,D1
MOVEQ.L #0,D3
MOVEQ.L #0,D5
MOVEQ.L #0,D4
MOVEQ.L #0,D2
move.w (A1)+,D1
move.w (A0,D1.W),D0
move.w 2(A0,D1.W),D1
move.w (A1)+,D3
move.w (A0,D3.W),D2
move.w 2(A0,D3.W),D3
ADDI.W #ORIGENX,D0
ADDI.W #ORIGENY,D1
ADDI.W #ORIGENX,D2
ADDI.W #ORIGENY,D3
move.l ACTSCREEN+4(pc),a5
bsr LINES
dbra d7,DIBOBJ2
NOFACE movea.l d6,a1
moveq #0,d0
move.b 1(a1),d0
adda.l d0,a1
BRA DIBOBJECT
FIN rts
; *************************************************
; * RUTINA DE LINEAS POR BLITTER *
; * *
; * PARAMETROS: *
; * D0 = X1 ; D1 = Y1; D2 = X2 ; D3 = Y2 *
; * A5 = COMIENZO DE LA PANTALLA *
; * REQUISITOS: *
; * A6 PERMANENTEMENTE CON $DFF000 *
; *************************************************
OCT1 EQU $18+1
OCT2 EQU $4+1
OCT3 EQU $C+1
OCT4 EQU $1C+1
OCT5 EQU $14+1
OCT6 EQU $8+1
OCT7 EQU $0+1
OCT8 EQU $10+1
LINES
cmp.w d1,d3
; bne.s LINES2
; bra.s DIBOBJ2
LINES2
bhi.s NOCHANGE
exg d0,d2
exg d1,d3
NOCHANGE
sub.w d1,d3
sub.w d0,d2
bpl.s XPOS
neg.w d2
moveq #OCT6,d4
cmp.w d3,d2
bcs.s LINEYA
moveq #OCT5,d4
exg d2,d3
bra.s LINEYA
XPOS
moveq #OCT7,d4
cmp.w d3,d2
bcs.s LINEYA
moveq #OCT8,d4
exg d2,d3
LINEYA
move.w d1,d5
lsl.w #5,d1
lsl.w #3,d5
add.w d5,d1
add.l d1,a5
move.w d0,d1
lsr.w #4,d1
add.w d1,d1
add.w d1,a5
add.w d2,d2
move.w d2,d5
sub.w d3,d5
cmp.w d2,d3
bcs.s LINESIGN
bset #6,d4
LINESIGN
andi.w #15,d0
add.w d0,d0
move.w LINESHIFT(pc,d0.w),d1
ror.w #5,d0
ori.w #$bfa,d0
LINE4
btst #6,2(a6)
bne.s LINE4
eor.w d1,(a5)
move.l a5,$48(a6)
move.l a5,$54(a6)
move.w d5,$52(a6)
sub.w d3,d5
movem.w d2/d5,$62(a6)
move.w d4,$42(a6)
move.w d0,$40(a6)
move.l #$ffff8000,$72(a6)
move.w #$ffff,$44(a6)
move.w #40,$60(a6)
move.w #40,$66(a6)
addq.w #1,d3
lsl.w #6,d3
addq.w #2,d3
move.w d3,$58(a6)
rts
LINESHIFT
dc.w $8000,$4000,$2000,$1000
dc.w $0800,$0400,$0200,$0100
dc.w $0080,$0040,$0020,$0010
dc.w $0008,$0004,$0002,$0001
BORRA
movem.l ACTSCREEN(pc),d0-d1
exg d0,d1
movem.l d0-d1,ACTSCREEN
move.w d0,PLANING+6
swap d0
move.w d0,PLANING+2
BBUSY2 BTST #14,$DFF002
BNE BBUSY2
move.l d1,$54(a6)
move.l #$01000000,$40(a6)
move.l #0,$64(a6)
move.w #(256*64)+20,$58(a6)
RTS
ACTSCREEN
dc.l SHOW,SHOW+10240
TECLADO
move.b $BFEC01,D1
; CLR.B $BFEC01
NOT.B D1
ROR.B #1,D1
CMP.B #$3D,D1
BNE TEC2
add.w #STEPS,XP
BRA TECFIN
TEC2 CMP.B #$3E,D1
BNE TEC3
SUB.W #STEPS,XP
BRA TECFIN
TEC3 CMP.B #$2D,D1
BNE TEC4
add.w #STEPS,YP
BRA TECFIN
TEC4 CMP.B #$2E,D1
BNE TEC5
SUB.W #STEPS,YP
BRA TECFIN
TEC5 CMP.B #$1D,D1
BNE TEC6
add.w #STEPS,ZP
BRA TECFIN
TEC6 CMP.B #$1E,D1
BNE TECFIN
SUB.W #STEPS,ZP
TECFIN
RTS
;*************************************************************
;*---------- DATOS CORRESPONDIENTES A LAS 3D ----------*
;*************************************************************
RND1 DC.L 0
RND2 DC.L 0
ZANGLE DC.W 0
YANGLE DC.W 180
XANGLE DC.W 0
ZP DC.W 0
YP DC.W 0
XP DC.W 0
ZDESP DC.W 0
YDESP DC.W 0
XDESP DC.W 0
ZSIN DC.W 0
ZCOS DC.W 0
YSIN DC.W 0
YCOS DC.W 0
XSIN DC.W 0
XCOS DC.W 0
DIST DC.W 10
ZOBJ DC.W OBJ
;*** X e Y ***
;
;XYS dcb.W POINTS*2
;----------- TABLA DE SENOS Y COSENOS -----------
SINUSTAB
DC.W 286,16382,572,16374,857,16362,1143,16344,1428,16322,1713,16294,1997,16262,2280,16225,2563,16182,2845,16135
DC.W 3126,16083,3406,16026,3685,15964,3964,15897,4240,15826,4516,15749,4790,15668,5063,15582,5334,15491,5603,15396
DC.W 5871,15296,6137,15191,6402,15082,6664,14968,6924,14849,7182,14726,7438,14598,7692,14466,7943,14330,8192,14189
DC.W 8438,14044,8682,13895,8923,13741,9162,13583,9397,13421,9630,13255,9860,13085,10087,12911,10311,12733,10531,12551
DC.W 10749,12365,10963,12176,11174,11983,11381,11786,11585,11586,11785,11382,11982,11174,12175,10963,12365,10749,12551,10532
DC.W 12732,10311,12910,10087,13085,9860,13255,9631,13421,9398,13583,9162,13741,8924,13894,8683,14044,8439,14189,8192
DC.W 14330,7944,14466,7692,14598,7439,14726,7183,14849,6925,14967,6664,15081,6402,15191,6138,15296,5872,15396,5604
DC.W 15491,5335,15582,5064,15668,4791,15749,4517,15826,4241,15897,3964,15964,3686,16026,3407,16083,3127,16135,2846
DC.W 16182,2564,16224,2281,16262,1997,16294,1713,16322,1429,16344,1144,16362,858,16374,573,16381,287,16384,1
DC.W 16382,-285,16374,-571,16362,-857,16344,-1142,16322,-1427,16294,-1712,16262,-1996,16225,-2279,16182,-2562,16135,-2844
DC.W 16083,-3125,16026,-3406,15964,-3685,15898,-3963,15826,-4240,15750,-4515,15668,-4789,15582,-5062,15492,-5333,15396,-5603
DC.W 15296,-5871,15191,-6137,15082,-6401,14968,-6663,14849,-6923,14726,-7181,14599,-7437,14467,-7691,14330,-7942,14189,-8191
DC.W 14044,-8438,13895,-8681,13741,-8922,13584,-9161,13422,-9397,13256,-9629,13085,-9859,12911,-10086,12733,-10310,12552,-10531
DC.W 12366,-10748,12176,-10962,11983,-11173,11786,-11380,11586,-11584,11382,-11785,11175,-11982,10964,-12175,10750,-12364,10532,-12550
DC.W 10312,-12732,10088,-12910,9861,-13084,9631,-13254,9398,-13420,9163,-13582,8924,-13740,8683,-13894,8439,-14043,8193,-14188
DC.W 7944,-14329,7693,-14466,7439,-14598,7183,-14725,6925,-14848,6665,-14967,6403,-15081,6139,-15190,5873,-15295,5605,-15395
DC.W 5335,-15491,5064,-15582,4792,-15668,4517,-15749,4242,-15825,3965,-15897,3687,-15964,3408,-16026,3128,-16083,2846,-16135
DC.W 2564,-16182,2282,-16224,1998,-16262,1714,-16294,1429,-16322,1144,-16344,859,-16361,573,-16374,287,-16381,2,-16384
DC.W -284,-16382,-570,-16374,-856,-16362,-1141,-16344,-1426,-16322,-1711,-16294,-1995,-16262,-2279,-16225,-2561,-16183,-2843,-16135
DC.W -3125,-16083,-3405,-16026,-3684,-15964,-3962,-15898,-4239,-15826,-4514,-15750,-4789,-15669,-5061,-15583,-5333,-15492,-5602,-15397
DC.W -5870,-15296,-6136,-15192,-6400,-15082,-6662,-14968,-6923,-14850,-7181,-14727,-7437,-14599,-7690,-14467,-7942,-14331,-8190,-14190
DC.W -8437,-14045,-8681,-13895,-8922,-13742,-9160,-13584,-9396,-13422,-9629,-13256,-9859,-13086,-10086,-12912,-10309,-12734,-10530,-12552
DC.W -10747,-12366,-10962,-12177,-11172,-11984,-11380,-11787,-11584,-11587,-11784,-11383,-11981,-11175,-12174,-10964,-12364,-10750,-12550,-10533
DC.W -12732,-10312,-12910,-10089,-13084,-9862,-13254,-9632,-13420,-9399,-13582,-9163,-13740,-8925,-13893,-8684,-14043,-8440,-14188,-8194
DC.W -14329,-7945,-14465,-7694,-14597,-7440,-14725,-7184,-14848,-6926,-14967,-6666,-15081,-6404,-15190,-6139,-15295,-5873,-15395,-5606
DC.W -15491,-5336,-15581,-5065,-15667,-4792,-15749,-4518,-15825,-4243,-15897,-3966,-15964,-3688,-16026,-3409,-16083,-3128,-16135,-2847
DC.W -16182,-2565,-16224,-2282,-16262,-1999,-16294,-1715,-16321,-1430,-16344,-1145,-16361,-860,-16374,-574,-16381,-288,-16384,-2
DC.W -16382,284,-16374,569,-16362,855,-16344,1141,-16322,1426,-16294,1710,-16262,1994,-16225,2278,-16183,2561,-16136,2843
DC.W -16083,3124,-16026,3404,-15965,3683,-15898,3961,-15826,4238,-15750,4514,-15669,4788,-15583,5061,-15492,5332,-15397,5601
DC.W -15297,5869,-15192,6135,-15083,6399,-14969,6662,-14850,6922,-14727,7180,-14599,7436,-14467,7690,-14331,7941,-14190,8190
DC.W -14045,8436,-13896,8680,-13742,8921,-13584,9160,-13422,9395,-13256,9628,-13086,9858,-12912,10085,-12734,10309,-12553,10529
DC.W -12367,10747,-12177,10961,-11984,11172,-11788,11379,-11587,11583,-11383,11784,-11176,11981,-10965,12174,-10751,12363,-10533,12549
DC.W -10313,12731,-10089,12909,-9862,13083,-9632,13253,-9400,13419,-9164,13581,-8926,13739,-8685,13893,-8441,14042,-8194,14188
DC.W -7946,14328,-7694,14465,-7441,14597,-7185,14725,-6927,14848,-6667,14966,-6404,15080,-6140,15190,-5874,15295,-5606,15395
DC.W -5337,15490,-5066,15581,-4793,15667,-4519,15749,-4243,15825,-3966,15897,-3688,15963,-3409,16025,-3129,16082,-2848,16135
DC.W -2566,16182,-2283,16224,-2000,16262,-1716,16294,-1431,16321,-1146,16344,-860,16361,-575,16374,-289,16381,-3,16384
COPPER
DC.W $0100,$1200,$008E,$2C81,$0090,$2CC1
DC.W $0092,$0038,$0094,$00D0,$0108,$0000
DC.W $010A,$0000,$0180,$0000,$0182,$0FF0
DC.W $0184,$0FF0,$0186,$0FF0,$0102,$0001
PLANING DC.W $00E0,$0000,$00E2,$0000
DC.W $00E4,$0000,$00E6,$0000
; DC.W $B001,$FFFE,$0180,$0004
; DC.W $E001,$FFFE,$0108,$FF88,$010A,$FF88
; DC.W $0182,$0660,$0184,$0660,$0186,$0660
DC.W $FFFF,$FFFE
OBJECT
DC.W 25,0,0
DC.W 50,0,0
DC.W 75,25,0
DC.W 75,50,0
DC.W 50,75,0
DC.W 25,75,0
DC.W 0,50,0
DC.W 0,25,0
OBJ2 DC.W 25,0,20
DC.W 50,0,20
DC.W 75,25,20
DC.W 75,50,20
DC.W 50,75,20
DC.W 25,75,20
DC.W 0,50,20
DC.W 0,25,20
OBJ3 DC.W 25,0,-20
DC.W 50,0,-20
DC.W 75,25,-20
DC.W 75,50,-20
DC.W 50,75,-20
DC.W 25,75,-20
DC.W 0,50,-20
DC.W 0,25,-20
OBJ4 DC.W 25,0,-40
DC.W 50,0,-40
DC.W 75,25,-40
DC.W 75,50,-40
DC.W 50,75,-40
DC.W 25,75,-40
DC.W 0,50,-40
DC.W 0,25,-40
OBJ5 DC.W 25,0,40
DC.W 50,0,40
DC.W 75,25,40
DC.W 75,50,40
DC.W 50,75,40
DC.W 25,75,40
DC.W 0,50,40
DC.W 0,25,40
OBJ6 DC.W 25,0,60
DC.W 50,0,60
DC.W 75,25,60
DC.W 75,50,60
DC.W 50,75,60
DC.W 25,75,60
DC.W 0,50,60
DC.W 0,25,60
CUAD
DC.W 0,0,0
DC.W 50,0,0
DC.W 50,50,0
DC.W 0,50,0
CUBO
dc.w -25,-25,25 ;V 1
dc.w 25,-25,25 ;V 2
dc.w 25,25,25 ;V 3
dc.w -25,25,25 ;V 4
dc.w -25,-25,-25 ;V 5
dc.w 25,-25,-25 ;V 6
dc.w 25,25,-25 ;V 7
dc.w -25,25,-25 ;V 8
dc.w -20,-20,50 ;V 9
dc.w 20,-20,50 ;V10
dc.w 20,20,50 ;V11
dc.w -20,20,50 ;V12
dc.w -20,-20,-20 ;V13
dc.w 20,-20,-20 ;V14
dc.w 20,20,-20 ;V15
dc.w -20,20,-20 ;V16
dc.w -15,-15,75 ;V17
dc.w 15,-15,75 ;V18
dc.w 15,15,75 ;V19
dc.w -15,15,75 ;V20
dc.w -15,-15,-15 ;V21
dc.w 15,-15,-15 ;V22
dc.w 15,15,-15 ;V23
dc.w -15,15,-15 ;V24
dc.w -10,-10,10 ;V25
dc.w 10,-10,10 ;V26
dc.w 10,10,10 ;V27
dc.w -10,10,10 ;V28
dc.w -10,-10,-100 ;V29
dc.w 10,-10,-100 ;V30
dc.w 10,10,-100 ;V31
dc.w -10,10,-100 ;V32
CONCUBO
dc.w $0112,0*DEC,3*DEC,3*DEC,2*DEC,2*DEC,1*DEC,1*DEC,0*DEC;Cara 1
dc.w $0112,1*DEC,2*DEC,2*DEC,6*DEC,6*DEC,5*DEC,5*DEC,1*DEC;Cara 2
dc.w $0112,4*DEC,5*DEC,5*DEC,6*DEC,6*DEC,7*DEC,7*DEC,4*DEC;Cara 3
dc.w $0112,0*DEC,4*DEC,4*DEC,7*DEC,7*DEC,3*DEC,3*DEC,0*DEC;Cara 4
dc.w $0112,4*DEC,0*DEC,0*DEC,1*DEC,1*DEC,5*DEC,5*DEC,4*DEC;Cara 5
dc.w $0112,3*DEC,7*DEC,7*DEC,6*DEC,6*DEC,2*DEC,2*DEC,3*DEC;Cara 6
dc.w $0112,8*DEC,11*DEC,11*DEC,10*DEC,10*DEC,9*DEC,9*DEC,8*DEC;Cara 1
dc.w $0112,9*DEC,10*DEC,10*DEC,14*DEC,14*DEC,13*DEC,13*DEC,9*DEC;Cara 2
dc.w $0112,12*DEC,13*DEC,13*DEC,14*DEC,14*DEC,15*DEC,15*DEC,12*DEC;Cara 3
dc.w $0112,8*DEC,12*DEC,12*DEC,15*DEC,15*DEC,11*DEC,11*DEC,8*DEC;Cara 4
dc.w $0112,12*DEC,8*DEC,8*DEC,9*DEC,9*DEC,13*DEC,13*DEC,12*DEC;Cara 5
dc.w $0112,11*DEC,15*DEC,15*DEC,14*DEC,14*DEC,10*DEC,10*DEC,11*DEC;Cara 6
dc.w $0112,16*DEC,19*DEC,19*DEC,18*DEC,18*DEC,17*DEC,17*DEC,16*DEC;Cara 1
dc.w $0112,17*DEC,18*DEC,18*DEC,22*DEC,22*DEC,21*DEC,21*DEC,17*DEC;Cara 2
dc.w $0112,20*DEC,21*DEC,21*DEC,22*DEC,22*DEC,23*DEC,23*DEC,20*DEC;Cara 3
dc.w $0112,16*DEC,20*DEC,20*DEC,23*DEC,23*DEC,19*DEC,19*DEC,16*DEC;Cara 4
dc.w $0112,20*DEC,16*DEC,16*DEC,17*DEC,17*DEC,21*DEC,21*DEC,20*DEC;Cara 5
dc.w $0112,19*DEC,23*DEC,23*DEC,22*DEC,22*DEC,18*DEC,18*DEC,19*DEC;Cara 6
dc.w $0112,24*DEC,27*DEC,27*DEC,26*DEC,26*DEC,25*DEC,25*DEC,24*DEC;Cara 1
dc.w $0112,25*DEC,26*DEC,26*DEC,30*DEC,30*DEC,29*DEC,29*DEC,25*DEC;Cara 2
dc.w $0112,28*DEC,29*DEC,29*DEC,30*DEC,30*DEC,31*DEC,31*DEC,28*DEC;Cara 3
dc.w $0112,24*DEC,28*DEC,28*DEC,31*DEC,31*DEC,27*DEC,27*DEC,24*DEC;Cara 4
dc.w $0112,28*DEC,24*DEC,24*DEC,25*DEC,25*DEC,29*DEC,29*DEC,28*DEC;Cara 5
dc.w $0112,27*DEC,31*DEC,31*DEC,30*DEC,30*DEC,26*DEC,26*DEC,27*DEC;Cara 6
dc.w $ffff
CONCUAD
DC.W 0*DEC,1*DEC,1*DEC,2*DEC,2*DEC,3*DEC,3*DEC,0*DEC,$FFFF
CONECT2
DC.W 0*DEC,1*DEC,1*DEC,2*DEC,2*DEC,3*DEC,3*DEC,4*DEC
DC.W 4*DEC,5*DEC,5*DEC,6*DEC,6*DEC,7*DEC,7*DEC,0*DEC,$FFFF
CONECT3
DC.W 0*DEC,1*DEC,0*DEC,2*DEC,0*DEC,3*DEC,0*DEC,4*DEC,0*DEC,5*DEC,0*DEC,6*DEC,0*DEC,7*DEC
DC.W 1*DEC,2*DEC,1*DEC,3*DEC,1*DEC,4*DEC,1*DEC,5*DEC,1*DEC,6*DEC,1*DEC,7*DEC
DC.W 2*DEC,3*DEC,2*DEC,4*DEC,2*DEC,5*DEC,2*DEC,6*DEC,2*DEC,7*DEC
DC.W 3*DEC,4*DEC,3*DEC,5*DEC,3*DEC,6*DEC,3*DEC,7*DEC
DC.W 4*DEC,5*DEC,4*DEC,6*DEC,4*DEC,7*DEC
DC.W 5*DEC,6*DEC,5*DEC,7*DEC
DC.W 6*DEC,7*DEC
DC.W $FFFF
dcb.b 10240
SHOW
dcb.W 10240
SHOW2
dcb.b 10240